home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu332 / 332equ.arc / RAM.LST < prev    next >
File List  |  1990-03-12  |  35KB  |  606 lines

  1. Motorola 68000 Family Assembler                (1.0 ) Mon Mar 12 15:34:03 1990
  2.  
  3.  
  4.  
  5. abs. rel.   LC   obj. code   source line
  6. ---- ----   ---- ---------   -----------
  7.    1    1   0000            |* $RCSfile: ram.sa $
  8.    2    2   0000            |* $Revision: 1.1 $
  9.    3    3   0000            |* $Date: 90/03/12 13:47:01 $
  10.    4    4   0000            |*
  11.    5    5        FFFF F000  |REG$    EQU      $FFFFF000
  12.    6    6   0000            |        INCLUDE  "DEF.MAC"
  13.    7    1i  0000            |
  14.    8    2i  0000            |****************************************************************************
  15.    9    3i  0000            |* $RCSfile: def.mac $
  16.   10    4i  0000            |* $Revision: 1.1 $
  17.   11    5i  0000            |* $Date: 90/03/12 13:46:02 $
  18.   12    6i  0000            |*
  19.   13    7i  0000            |*       -------------------------------------------------------------
  20.   14    8i  0000            |*       Module Name:        DEF - Define Symbols Macro
  21.   15    9i  0000            |*       -------------------------------------------------------------
  22.   16   10i  0000            |*
  23.   17   11i  0000            |*       Description:
  24.   18   12i  0000            |*          1. This file contains EQUates and a DEF macro for use with
  25.   19   13i  0000            |*             MCU's that have internal registers and the bits in those
  26.   20   14i  0000            |*             registers.  By INCLUDE'ing this file with the specific MCU
  27.   21   15i  0000            |*             equate file(s), mnemonic symbols are defined for the
  28.   22   16i  0000            |*             internal registers and bits.
  29.   23   17i  0000            |*          2. The DEF macro controls how these mnemonic symbols are
  30.   24   18i  0000            |*             defined.  By channeling all symbol definitions through the
  31.   25   19i  0000            |*             DEF macro, changes made to the DEF macro will affect ALL
  32.   26   20i  0000            |*             symbol definitions upon re-assembly!  See the DEF macro for
  33.   27   21i  0000            |*             more details.
  34.   28   22i  0000            |*
  35.   29   23i  0000            |*       Notes:
  36.   30   24i  0000            |*          1. Motorola reserves the right to make changes to this file.
  37.   31   25i  0000            |*             Although this file has been carefully reviewed and is
  38.   32   26i  0000            |*             believed to be reliable, Motorola does not assume any
  39.   33   27i  0000            |*             liability arising out of its use.  This code may be freely
  40.   34   28i  0000            |*             used and/or modified at no cost or obligation to the user.
  41.   35   29i  0000            |*          2. All descriptions are WORD values unless stated otherwise.
  42.   36   30i  0000            |*          3. This file was made for use with the Motorola Development
  43.   37   31i  0000            |*             Systems M68000 Family Structured Assembler for MS-DOS,
  44.   38   32i  0000            |*             known as M68MASM.
  45.   39   33i  0000            |*          4. To use this file, either use an INCLUDE statement or just
  46.   40   34i  0000            |*             merge this file and the appropriate MCU register equate
  47.   41   35i  0000            |*             file(s) into your source code file.  Consult your assem-
  48.   42   36i  0000            |*             bler's user's manual for the details specific to your
  49.   43   37i  0000            |*             situation.
  50.   44   38i  0000            |*          5. The latest version of this file is maintained on the
  51.   45   39i  0000            |*             Motorola FREEWARE Bulletin Board, 512/891-FREE (512/891-
  52.   46   40i  0000            |*             3733).  It operates continuously (except for maintenance)
  53.   47   41i  0000            |*             at 1200-2400 baud, 8-bits, no parity.  Download the
  54.   48   42i  0000            |*             archive file <mcu>EQU.ARC to get all the files, where
  55.   49   43i  0000            |*             <mcu> represents the processor type desired, i.e.
  56.   50   44i  0000            |*             332EQU.ARC for MC68332, etc.
  57.   51   45i  0000            |*
  58.   52   46i  0000            |****************************************************************************
  59.   53   47i  0000            |
  60.   54   48i  0000            |
  61.   55   49i  0000            |* Defines for Bit Definition Types (see DEF macro):
  62.   56   50i  0000            |*
  63.   57   51i       0000 0001  |BIT$NUM  EQU   1                 Bit numbers (0-15)
  64.   58   52i       0000 0002  |BIT$VAL  EQU   2                 Bit position values ($0000-$8000)
  65.   59   53i       0000 0003  |BIT$BOTH EQU   BIT$NUM+BIT$VAL   Both bit numbers and values
  66.   60   54i  0000            |*
  67.   61   55i       0000 0003  |BIT$CODE EQU   BIT$BOTH          Bit definitions for this assembly!
  68.   62   56i  0000            |*  NOTE:  Change BIT$CODE above to control bit definition types!
  69.   63   57i  0000            |
  70.   64   58i  0000            |
  71.   65   59i  0000            |* Bit Number Equates
  72.   66   60i  0000            |*
  73.   67   61i       0000 000F  |.B15    EQU     15
  74.   68   62i       0000 000E  |.B14    EQU     14
  75.   69   63i       0000 000D  |.B13    EQU     13
  76.   70   64i       0000 000C  |.B12    EQU     12
  77.   71   65i       0000 000B  |.B11    EQU     11
  78.   72   66i       0000 000A  |.B10    EQU     10
  79.   73   67i       0000 0009  |.B9     EQU     9
  80.   74   68i       0000 0008  |.B8     EQU     8
  81.   75   69i       0000 0007  |.B7     EQU     7
  82.   76   70i       0000 0006  |.B6     EQU     6
  83.   77   71i       0000 0005  |.B5     EQU     5
  84.   78   72i       0000 0004  |.B4     EQU     4
  85.   79   73i       0000 0003  |.B3     EQU     3
  86.   80   74i       0000 0002  |.B2     EQU     2
  87.   81   75i       0000 0001  |.B1     EQU     1
  88.   82   76i       0000 0000  |.B0     EQU     0
  89.   83   77i  0000            |
  90.   84   78i  0000            |
  91.   85   79i  0000            |* Bit Value Equates
  92.   86   80i  0000            |*
  93.   87   81i       0000 8000  |_B15    EQU     1<<.B15
  94.   88   82i       0000 4000  |_B14    EQU     1<<.B14
  95.   89   83i       0000 2000  |_B13    EQU     1<<.B13
  96.   90   84i       0000 1000  |_B12    EQU     1<<.B12
  97.   91   85i       0000 0800  |_B11    EQU     1<<.B11
  98.   92   86i       0000 0400  |_B10    EQU     1<<.B10
  99.   93   87i       0000 0200  |_B9     EQU     1<<.B9
  100.   94   88i       0000 0100  |_B8     EQU     1<<.B8
  101.   95   89i       0000 0080  |_B7     EQU     1<<.B7
  102.   96   90i       0000 0040  |_B6     EQU     1<<.B6
  103.   97   91i       0000 0020  |_B5     EQU     1<<.B5
  104.   98   92i       0000 0010  |_B4     EQU     1<<.B4
  105.   99   93i       0000 0008  |_B3     EQU     1<<.B3
  106.  100   94i       0000 0004  |_B2     EQU     1<<.B2
  107.  101   95i       0000 0002  |_B1     EQU     1<<.B1
  108.  102   96i       0000 0001  |_B0     EQU     1<<.B0
  109.  103   97i  0000            |
  110.  104   98i  0000            |
  111.  105   99i  0000            |* Mask Value Equates
  112.  106  100i  0000            |*
  113.  107  101i       0000 FFFF  |MSK16   EQU     $FFFF   16-bit mask
  114.  108  102i       0000 7FFF  |MSK15   EQU     $7FFF   15-bit mask
  115.  109  103i       0000 3FFF  |MSK14   EQU     $3FFF   14-bit mask
  116.  110  104i       0000 1FFF  |MSK13   EQU     $1FFF   13-bit mask
  117.  111  105i       0000 0FFF  |MSK12   EQU     $0FFF   12-bit mask
  118.  112  106i       0000 07FF  |MSK11   EQU     $07FF   11-bit mask
  119.  113  107i       0000 03FF  |MSK10   EQU     $03FF   10-bit mask
  120.  114  108i       0000 01FF  |MSK9    EQU     $01FF    9-bit mask
  121.  115  109i       0000 00FF  |MSK8    EQU     $00FF    8-bit mask
  122.  116  110i       0000 007F  |MSK7    EQU     $007F    7-bit mask
  123.  117  111i       0000 003F  |MSK6    EQU     $003F    6-bit mask
  124.  118  112i       0000 001F  |MSK5    EQU     $001F    5-bit mask
  125.  119  113i       0000 000F  |MSK4    EQU     $000F    4-bit mask
  126.  120  114i       0000 0007  |MSK3    EQU     $0007    3-bit mask
  127.  121  115i       0000 0003  |MSK2    EQU     $0003    2-bit mask
  128.  122  116i       0000 0001  |MSK1    EQU     $0001    1-bit mask
  129.  123  117i  0000            |
  130.  124  118i  0000            |
  131.  125  119i  0000            |****************************************************************************
  132.  126  120i  0000            |* Define Bit Macro:
  133.  127  121i  0000            |*   Syntax:            DEF     <name>,<value>[,<field size>[,<reg size>]]
  134.  128  122i  0000            |*
  135.  129  123i  0000            |*     where:  <name>         is the bit name to be defined.
  136.  130  124i  0000            |*             <value>        is the bit number associated with <name>;
  137.  131  125i  0000            |*                              must be entered as "Bn", where "n" = 0-15.
  138.  132  126i  0000            |*             <field size>   is the optional bit field size starting with
  139.  133  127i  0000            |*                              <value> which must be the least significant
  140.  134  128i  0000            |*                              bit (LSB) of the field.  When this parameter
  141.  135  129i  0000            |*                              is present, only the bit field and bit number
  142.  136  130i  0000            |*                              labels are defined.
  143.  137  131i  0000            |*             <reg size>     is the optional size of the register, entered
  144.  138  132i  0000            |*                              as "MSK8" for BYTE sized operands (8-bit).
  145.  139  133i  0000            |*                              The default value is "MSK16" for WORD sized
  146.  140  134i  0000            |*                              operands.
  147.  141  135i  0000            |*   Action:
  148.  142  136i  0000            |*     Defines bit number, bit value, or bit field labels based on the
  149.  143  137i  0000            |*     <name> label and the value of BIT$CODE (defined above).
  150.  144  138i  0000            |*        Label Key:
  151.  145  139i  0000            |*          Period     prefix       (.)      denotes bit number label.
  152.  146  140i  0000            |*          Underscore prefix       (_)      denotes bit value label.
  153.  147  141i  0000            |*          Underscore suffix       (_)      denotes bit field label.
  154.  148  142i  0000            |*          Underscore MSK  suffix  (_MSK)   denotes bit field mask label.
  155.  149  143i  0000            |*          Underscore NMSK suffix  (_NMSK)  denotes not-bit field mask label.
  156.  150  144i  0000            |*        Label Examples:
  157.  151  145i  0000            |*          .NAME     = bit number         label, i.e. 0-15
  158.  152  146i  0000            |*          _NAME     = bit value          label, i.e. $0000-$8000
  159.  153  147i  0000            |*          NAME_     = bit field value    label, i.e. $0100   (LSB of field)
  160.  154  148i  0000            |*          NAME_MSK  = bit field mask     label, i.e. $0700   (3-bit field)
  161.  155  149i  0000            |*          NAME_NMSK = bit field not-mask label, i.e. $F8FF   (3-bit field)
  162.  156  150i  0000            |*
  163.  157  151i  0000            |*   Notes:
  164.  158  152i  0000            |*     1. The "SET" directive is used here instead of the "EQU" directive
  165.  159  153i  0000            |*        to allow multiple definitions of the same bit labels that are
  166.  160  154i  0000            |*        used for multiple registers, each with the same values.
  167.  161  155i  0000            |*     2. If the user changes the predefined label rules per the Label Key
  168.  162  156i  0000            |*        above, it is their responsibility to ensure duplicate labels with
  169.  163  157i  0000            |*        different bit values do not occur!
  170.  164  158i  0000            |*
  171.  165  159i  0000            |DEF     MACRO
  172.  166  160i  0000            |   IFC       "","\3"
  173.  167  161i  0000            |     IFNE      BIT$CODE&BIT$NUM
  174.  168  162i  0000            |.\1     SET     .\2
  175.  169  163i  0000            |     ENDC
  176.  170  164i  0000            |     IFNE      BIT$CODE&BIT$VAL
  177.  171  165i  0000            |_\1     SET     _\2
  178.  172  166i  0000            |     ENDC
  179.  173  167i  0000            |   ENDC
  180.  174  168i  0000            |   IFNC      "","\3"
  181.  175  169i  0000            |.\1     SET     .\2
  182.  176  170i  0000            |\1_     SET     _\2
  183.  177  171i  0000            |\1_MSK  SET     (MSK\3)<<.\2
  184.  178  172i  0000            |     IFC       "","\4"
  185.  179  173i  0000            |\1_NMSK SET     (-\1_MSK-1)&MSK16
  186.  180  174i  0000            |     ENDC
  187.  181  175i  0000            |     IFNC      "","\4"
  188.  182  176i  0000            |\1_NMSK SET     (-\1_MSK-1)&\4
  189.  183  177i  0000            |     ENDC
  190.  184  178i  0000            |   ENDC
  191.  185  179i  0000            |        ENDM
  192.  186  180i  0000            |
  193.  187  181i       0000 0000  |   IFNE    0   ------- don't assemble unless needed --------
  194.  188  182i  0000            |        DEF     NBL0,B0,4    . nibble  0
  195.  189  183i  0000            |        DEF     NBL1,B4,4    . nibble  1
  196.  190  184i  0000            |        DEF     NBL2,B8,4    . nibble  2
  197.  191  185i  0000            |        DEF     NBL3,B12,4   . nibble  3
  198.  192  186i  0000            |
  199.  193  187i  0000            |        DEF     HNBL0,B0,2   . half nibble  0
  200.  194  188i  0000            |        DEF     HNBL1,B2,2   . half nibble  1
  201.  195  189i  0000            |        DEF     HNBL2,B4,2   . half nibble  2
  202.  196  190i  0000            |        DEF     HNBL3,B6,2   . half nibble  3
  203.  197  191i  0000            |        DEF     HNBL4,B8,2   . half nibble  4
  204.  198  192i  0000            |        DEF     HNBL5,B10,2  . half nibble  5
  205.  199  193i  0000            |        DEF     HNBL6,B12,2  . half nibble  6
  206.  200  194i  0000            |        DEF     HNBL7,B14,2  . half nibble  7
  207.  201  195i  0000            |   ENDC
  208.  202    7   0000            |        INCLUDE  "332RAM.EQU"
  209.  203    1i  0000            |
  210.  204    2i  0000            |****************************************************************************
  211.  205    3i  0000            |* $RCSfile: 332ram.equ $
  212.  206    4i  0000            |* $Revision: 1.1 $
  213.  207    5i  0000            |* $Date: 90/03/12 13:45:26 $
  214.  208    6i  0000            |*
  215.  209    7i  0000            |*       -------------------------------------------------------------
  216.  210    8i  0000            |*       Module Name:        332RAM - MC68332 RAM Registers
  217.  211    9i  0000            |*       -------------------------------------------------------------
  218.  212   10i  0000            |*
  219.  213   11i  0000            |*       Description:
  220.  214   12i  0000            |*          1. This file contains EQUates for all the Standby RAM
  221.  215   13i  0000            |*             Module (RAM) registers and bits for the MC68332.  Consult
  222.  216   14i  0000            |*             the "MC68332 System Integration Module User's Manual", part
  223.  217   15i  0000            |*             number SIM32UM/AD, for more details.
  224.  218   16i  0000            |*          2. A 64-byte address space is reserved for the RAM, though not
  225.  219   17i  0000            |*             all are used.
  226.  220   18i  0000            |*          3. The ABSOLUTE address area where the register array block
  227.  221   19i  0000            |*             appears in memory is specified by the value of REG$, which
  228.  222   20i  0000            |*             should be defined in the user's system definitions.  The
  229.  223   21i  0000            |*             value of REG$ is $YFF000, where Y = M111 and M reflects the
  230.  224   22i  0000            |*             modmap bit (MM) in the module configuration register (MCR).
  231.  225   23i  0000            |*
  232.  226   24i  0000            |*                   REG$ value    Comments
  233.  227   25i  0000            |*                   ----------    ---------------------------------
  234.  228   26i  0000            |*                   $007FF000     MCR MM bit = 0
  235.  229   27i  0000            |*                   $00FFF000     MCR MM bit = 1   (reset default)
  236.  230   28i  0000            |*                   $FFFFF000     MCR MM bit = 1   (reset default)
  237.  231   29i  0000            |*                                   Forces short addressing (unused 
  238.  232   30i  0000            |*                                   upper address lines are ignored)
  239.  233   31i  0000            |*          4. The following pages summarize these registers and their
  240.  234   32i  0000            |*             associated addresses.
  241.  235   33i  0000            |*
  242.  236   34i  0000            |*       Notes:
  243.  237   35i  0000            |*          1. Motorola reserves the right to make changes to this file.
  244.  238   36i  0000            |*             Although this file has been carefully reviewed and is
  245.  239   37i  0000            |*             believed to be reliable, Motorola does not assume any
  246.  240   38i  0000            |*             liability arising out of its use.  This code may be freely
  247.  241   39i  0000            |*             used and/or modified at no cost or obligation to the user.
  248.  242   40i  0000            |*          2. All descriptions are WORD values unless stated otherwise.
  249.  243   41i  0000            |*          3. The DEF macro along with the BIT$CODE symbol controls the
  250.  244   42i  0000            |*             actual bit definitions.  See the DEF macro in the DEF.MAC
  251.  245   43i  0000            |*             file for details.
  252.  246   44i  0000            |*          4. This file was made for use with the Motorola Development
  253.  247   45i  0000            |*             Systems M68000 Family Structured Assembler for MS-DOS,
  254.  248   46i  0000            |*             known as M68MASM.
  255.  249   47i  0000            |*          5. To use this file, either use an INCLUDE statement or just
  256.  250   48i  0000            |*             merge this file into your source code file.  Consult your
  257.  251   49i  0000            |*             assembler's user's manual for the details specific to your
  258.  252   50i  0000            |*             situation.  Reference the code segment example below for
  259.  253   51i  0000            |*             usage ideas (shown in M68MASM for MS-DOS syntax).
  260.  254   52i  0000            |*
  261.  255   53i  0000            |*             REG$     EQU      $FFFFF000         Register base address
  262.  256   54i  0000            |*             * NOTE: A31-24 unused in MC68332, so we set them all =1
  263.  257   55i  0000            |*             *       in order to use absolute short addressing mode!
  264.  258   56i  0000            |*                      NOLIST
  265.  259   57i  0000            |*                      INCLUDE  "DEF.MAC"
  266.  260   58i  0000            |*                      INCLUDE  "332RAM.EQU"
  267.  261   59i  0000            |*                      LIST
  268.  262   60i  0000            |*             START    CLR      RAM$+RAMTST       Absolute addressing!
  269.  263   61i  0000            |*                      LEA      RAM$,A6           .      OR
  270.  264   62i  0000            |*                      CLR      (RAMTST,A6)       Indexed addressing!
  271.  265   63i  0000            |*             *    Bit number usage w/indexing!
  272.  266   64i  0000            |*                      BCLR.B   #.RAMDS,(RAMBAR+1,A6)
  273.  267   65i  0000            |*                      OR.W     (1<<.STOP)+(1<<.RASP),(RAMMCR,A6)
  274.  268   66i  0000            |*             *                                   .      OR
  275.  269   67i  0000            |*             *    Bit value usage w/indexing!
  276.  270   68i  0000            |*                      AND.W    #(-_RAMDS-1)&$FFFF,(RAMBAR,A6)
  277.  271   69i  0000            |*                      OR.W     _STOP+_RASP,(RAMMCR,A6)
  278.  272   70i  0000            |*             *    Bit field usage w/indexing!
  279.  273   71i  0000            |*                      MOVE.B   #(20*SDTEST_),(RAMTST,A6)
  280.  274   72i  0000            |*             *    Bit field mask usage w/indexing!
  281.  275   73i  0000            |*                      MOVE.W   (RAMTST,A6),D0
  282.  276   74i  0000            |*                      MOVE.W   D0,D1
  283.  277   75i  0000            |*                      AND.W    #SDTEST_MSK,D0   Isolate SDTEST field
  284.  278   76i  0000            |*                      MOVE.L   #.SDTEST,D2
  285.  279   77i  0000            |*                      LSR.W    D2,d0            and right justify it!
  286.  280   78i  0000            |*                      AND.W    #SDTEST_NMSK,D1  Clear SDTEST field.
  287.  281   79i  0000            |*
  288.  282   80i  0000            |*             For bit fields, a value (0-N) will be placed inside.  As
  289.  283   81i  0000            |*             can be seen in the last line above, this is accomplished
  290.  284   82i  0000            |*             by multiplying the bit field label by the desired value
  291.  285   83i  0000            |*             for the field.  This line initializes the RAMTST register
  292.  286   84i  0000            |*             which has one bit field, SDTEST.  This field is initial-
  293.  287   85i  0000            |*             ized to 20 by this line (places a value of $2800 into the
  294.  288   86i  0000            |*             RAMTST register).
  295.  289   87i  0000            |*          6. Be careful when using any of the BIT instructions (BCHG,
  296.  290   88i  0000            |*             BCLR, BSET, BTST), as they will only operate on a BYTE of
  297.  291   89i  0000            |*             memory, not a WORD.  Thus to access a bit in the least
  298.  292   90i  0000            |*             significant half of a word sized register (B0-B7), "+1"
  299.  293   91i  0000            |*             must be added to the operand address.  See the code
  300.  294   92i  0000            |*             segment example in item 5 above.
  301.  295   93i  0000            |*          7. Because the equate files can generate many listing pages,
  302.  296   94i  0000            |*             the user may wish to disable the listing via NOLIST and
  303.  297   95i  0000            |*             LIST directives as seen in the above example code.
  304.  298   96i  0000            |*          8. The latest version of this file is maintained on the
  305.  299   97i  0000            |*             Motorola FREEWARE Bulletin Board, 512/891-FREE (512/891-
  306.  300   98i  0000            |*             3733).  It operates continuously (except for maintenance)
  307.  301   99i  0000            |*             at 1200-2400 baud, 8-bits, no parity.  Download the
  308.  302  100i  0000            |*             archive file 332EQU.ARC to get all the files.
  309.  303  101i  0000            |*
  310.  304  102i  0000            |****************************************************************************
  311.  305  103i  0000            |
  312.  306  104i  0000            |
  313.  307  105i  0000            |*********************************************************************
  314.  308  106i  0000            |* Define Module Base Address
  315.  309  107i  0000            |*********************************************************************
  316.  310  108i       FFFF FB00  |RAM$    EQU     REG$+$B00    RAM base address
  317.  311  109i  0000            |
  318.  312  110i  0000            |*********************************************************************
  319.  313  111i  0000            |* Define Registers and Bits
  320.  314  112i  0000            |*********************************************************************
  321.  315  113i       0000 0000  |RAMMCR  EQU     $000         RAM Module Configuration Register
  322.  316  114i  0000            |        DEF     STOP,B15     . stop control
  323.  317    1m  0000            +   IFC       "",""
  324.  318    2m       0000 0001  +     IFNE      BIT$CODE&BIT$NUM
  325.  319    3m       0000 000F  +.STOP     SET     .B15
  326.  320    4m  0000            +     ENDC
  327.  321    5m       0000 0002  +     IFNE      BIT$CODE&BIT$VAL
  328.  322    6m       0000 8000  +_STOP     SET     _B15
  329.  323    7m  0000            +     ENDC
  330.  324    8m  0000            +   ENDC
  331.  325    9m  0000            +   IFNC      "",""
  332.  326   10m  0000            +.STOP     SET     .B15
  333.  327   11m  0000            +STOP_     SET     _B15
  334.  328   12m  0000            +STOP_MSK  SET     (MSK)<<.B15
  335.  329   13m  0000            +     IFC       "",""
  336.  330   14m  0000            +STOP_NMSK SET     (-STOP_MSK-1)&MSK16
  337.  331   15m  0000            +     ENDC
  338.  332   16m  0000            +     IFNC      "",""
  339.  333   17m  0000            +STOP_NMSK SET     (-STOP_MSK-1)&
  340.  334   18m  0000            +     ENDC
  341.  335   19m  0000            +   ENDC
  342.  336  115i  0000            |        DEF     RASP,B8      . RAM array space
  343.  337    1m  0000            +   IFC       "",""
  344.  338    2m       0000 0001  +     IFNE      BIT$CODE&BIT$NUM
  345.  339    3m       0000 0008  +.RASP     SET     .B8
  346.  340    4m  0000            +     ENDC
  347.  341    5m       0000 0002  +     IFNE      BIT$CODE&BIT$VAL
  348.  342    6m       0000 0100  +_RASP     SET     _B8
  349.  343    7m  0000            +     ENDC
  350.  344    8m  0000            +   ENDC
  351.  345    9m  0000            +   IFNC      "",""
  352.  346   10m  0000            +.RASP     SET     .B8
  353.  347   11m  0000            +RASP_     SET     _B8
  354.  348   12m  0000            +RASP_MSK  SET     (MSK)<<.B8
  355.  349   13m  0000            +     IFC       "",""
  356.  350   14m  0000            +RASP_NMSK SET     (-RASP_MSK-1)&MSK16
  357.  351   15m  0000            +     ENDC
  358.  352   16m  0000            +     IFNC      "",""
  359.  353   17m  0000            +RASP_NMSK SET     (-RASP_MSK-1)&
  360.  354   18m  0000            +     ENDC
  361.  355   19m  0000            +   ENDC
  362.  356  116i  0000            |*-------------------------------------------------------------------*
  363.  357  117i       0000 0002  |RAMTST  EQU     $002         RAM Test Register
  364.  358  118i  0000            |        DEF     SDTEST,B9,7  . soft detect test function     (7 bits)
  365.  359    1m  0000            +   IFC       "","7"
  366.  360    2m  0000            +     IFNE      BIT$CODE&BIT$NUM
  367.  361    3m  0000            +.SDTEST     SET     .B9
  368.  362    4m  0000            +     ENDC
  369.  363    5m  0000            +     IFNE      BIT$CODE&BIT$VAL
  370.  364    6m  0000            +_SDTEST     SET     _B9
  371.  365    7m  0000            +     ENDC
  372.  366    8m  0000            +   ENDC
  373.  367    9m  0000            +   IFNC      "","7"
  374.  368   10m       0000 0009  +.SDTEST     SET     .B9
  375.  369   11m       0000 0200  +SDTEST_     SET     _B9
  376.  370   12m       0000 FE00  +SDTEST_MSK  SET     (MSK7)<<.B9
  377.  371   13m  0000            +     IFC       "",""
  378.  372   14m       0000 01FF  +SDTEST_NMSK SET     (-SDTEST_MSK-1)&MSK16
  379.  373   15m  0000            +     ENDC
  380.  374   16m  0000            +     IFNC      "",""
  381.  375   17m  0000            +SDTEST_NMSK SET     (-SDTEST_MSK-1)&
  382.  376   18m  0000            +     ENDC
  383.  377   19m  0000            +   ENDC
  384.  378  119i  0000            |        DEF     RTBA,B8      . base address register R/W
  385.  379    1m  0000            +   IFC       "",""
  386.  380    2m       0000 0001  +     IFNE      BIT$CODE&BIT$NUM
  387.  381    3m       0000 0008  +.RTBA     SET     .B8
  388.  382    4m  0000            +     ENDC
  389.  383    5m       0000 0002  +     IFNE      BIT$CODE&BIT$VAL
  390.  384    6m       0000 0100  +_RTBA     SET     _B8
  391.  385    7m  0000            +     ENDC
  392.  386    8m  0000            +   ENDC
  393.  387    9m  0000            +   IFNC      "",""
  394.  388   10m  0000            +.RTBA     SET     .B8
  395.  389   11m  0000            +RTBA_     SET     _B8
  396.  390   12m  0000            +RTBA_MSK  SET     (MSK)<<.B8
  397.  391   13m  0000            +     IFC       "",""
  398.  392   14m  0000            +RTBA_NMSK SET     (-RTBA_MSK-1)&MSK16
  399.  393   15m  0000            +     ENDC
  400.  394   16m  0000            +     IFNC      "",""
  401.  395   17m  0000            +RTBA_NMSK SET     (-RTBA_MSK-1)&
  402.  396   18m  0000            +     ENDC
  403.  397   19m  0000            +   ENDC
  404.  398  120i  0000            |*-------------------------------------------------------------------*
  405.  399  121i       0000 0004  |RAMBAR  EQU     $004         RAM Array Base Address/Status Register
  406.  400  122i  0000            |* NOTE:  RAMBAR is a WRITE-ONCE register!
  407.  401  123i  0000            |        DEF     RAMBAS,B3,13 . RAM array base addr, A23-A11 (13 bits)
  408.  402    1m  0000            +   IFC       "","13"
  409.  403    2m  0000            +     IFNE      BIT$CODE&BIT$NUM
  410.  404    3m  0000            +.RAMBAS     SET     .B3
  411.  405    4m  0000            +     ENDC
  412.  406    5m  0000            +     IFNE      BIT$CODE&BIT$VAL
  413.  407    6m  0000            +_RAMBAS     SET     _B3
  414.  408    7m  0000            +     ENDC
  415.  409    8m  0000            +   ENDC
  416.  410    9m  0000            +   IFNC      "","13"
  417.  411   10m       0000 0003  +.RAMBAS     SET     .B3
  418.  412   11m       0000 0008  +RAMBAS_     SET     _B3
  419.  413   12m       0000 FFF8  +RAMBAS_MSK  SET     (MSK13)<<.B3
  420.  414   13m  0000            +     IFC       "",""
  421.  415   14m       0000 0007  +RAMBAS_NMSK SET     (-RAMBAS_MSK-1)&MSK16
  422.  416   15m  0000            +     ENDC
  423.  417   16m  0000            +     IFNC      "",""
  424.  418   17m  0000            +RAMBAS_NMSK SET     (-RAMBAS_MSK-1)&
  425.  419   18m  0000            +     ENDC
  426.  420   19m  0000            +   ENDC
  427.  421  124i  0000            |        DEF     RAMDS,B0     . RAM array disable
  428.  422    1m  0000            +   IFC       "",""
  429.  423    2m       0000 0001  +     IFNE      BIT$CODE&BIT$NUM
  430.  424    3m       0000 0000  +.RAMDS     SET     .B0
  431.  425    4m  0000            +     ENDC
  432.  426    5m       0000 0002  +     IFNE      BIT$CODE&BIT$VAL
  433.  427    6m       0000 0001  +_RAMDS     SET     _B0
  434.  428    7m  0000            +     ENDC
  435.  429    8m  0000            +   ENDC
  436.  430    9m  0000            +   IFNC      "",""
  437.  431   10m  0000            +.RAMDS     SET     .B0
  438.  432   11m  0000            +RAMDS_     SET     _B0
  439.  433   12m  0000            +RAMDS_MSK  SET     (MSK)<<.B0
  440.  434   13m  0000            +     IFC       "",""
  441.  435   14m  0000            +RAMDS_NMSK SET     (-RAMDS_MSK-1)&MSK16
  442.  436   15m  0000            +     ENDC
  443.  437   16m  0000            +     IFNC      "",""
  444.  438   17m  0000            +RAMDS_NMSK SET     (-RAMDS_MSK-1)&
  445.  439   18m  0000            +     ENDC
  446.  440   19m  0000            +   ENDC
  447.  441  125i  0000            |*-------------------------------------------------------------------*
  448.  442  126i  0000            |*UNUSED EQU     $006-$03F    Unused positions
  449.  443  127i  0000            |*********************************************************************
  450.  444    8   0000            |
  451.  445    9   0000            |        END
  452.  445 lines assembled
  453.  
  454. symbol table:
  455. symbol name       attrib.  section    value
  456. -----------       -------  -------    -----
  457. REG$              abs.                0xfffff000
  458.      310 @5
  459. BIT$NUM           abs.                0x1
  460.      423 380 338 318 59 @57
  461. BIT$VAL           abs.                0x2
  462.      426 383 341 321 59 @58
  463. BIT$BOTH          abs.                0x3
  464.      61 @59
  465. BIT$CODE          abs.                0x3
  466.      426 423 383 380 341 338 321 318 @61
  467. .B15              abs.                0xf
  468.      319 87 @67
  469. .B14              abs.                0xe
  470.      88 @68
  471. .B13              abs.                0xd
  472.      89 @69
  473. .B12              abs.                0xc
  474.      90 @70
  475. .B11              abs.                0xb
  476.      91 @71
  477. .B10              abs.                0xa
  478.      92 @72
  479. .B9               abs.                0x9
  480.      370 368 93 @73
  481. .B8               abs.                0x8
  482.      381 339 94 @74
  483. .B7               abs.                0x7
  484.      95 @75
  485. .B6               abs.                0x6
  486.      96 @76
  487. .B5               abs.                0x5
  488.      97 @77
  489. .B4               abs.                0x4
  490.      98 @78
  491. .B3               abs.                0x3
  492.      413 411 99 @79
  493. .B2               abs.                0x2
  494.      100 @80
  495. .B1               abs.                0x1
  496.      101 @81
  497. .B0               abs.                0x0
  498.      424 102 @82
  499. _B15              abs.                0x8000
  500.      322 @87
  501. _B14              abs.                0x4000
  502.      @88
  503. _B13              abs.                0x2000
  504.      @89
  505. _B12              abs.                0x1000
  506.      @90
  507. _B11              abs.                0x800
  508.      @91
  509. _B10              abs.                0x400
  510.      @92
  511. _B9               abs.                0x200
  512.      369 @93
  513. _B8               abs.                0x100
  514.      384 342 @94
  515. _B7               abs.                0x80
  516.      @95
  517. _B6               abs.                0x40
  518.      @96
  519. _B5               abs.                0x20
  520.      @97
  521. _B4               abs.                0x10
  522.      @98
  523. _B3               abs.                0x8
  524.      412 @99
  525. _B2               abs.                0x4
  526.      @100
  527. _B1               abs.                0x2
  528.      @101
  529. _B0               abs.                0x1
  530.      427 @102
  531. MSK16             abs.                0xffff
  532.      415 372 @107
  533. MSK15             abs.                0x7fff
  534.      @108
  535. MSK14             abs.                0x3fff
  536.      @109
  537. MSK13             abs.                0x1fff
  538.      413 @110
  539. MSK12             abs.                0xfff
  540.      @111
  541. MSK11             abs.                0x7ff
  542.      @112
  543. MSK10             abs.                0x3ff
  544.      @113
  545. MSK9              abs.                0x1ff
  546.      @114
  547. MSK8              abs.                0xff
  548.      @115
  549. MSK7              abs.                0x7f
  550.      370 @116
  551. MSK6              abs.                0x3f
  552.      @117
  553. MSK5              abs.                0x1f
  554.      @118
  555. MSK4              abs.                0xf
  556.      @119
  557. MSK3              abs.                0x7
  558.      @120
  559. MSK2              abs.                0x3
  560.      @121
  561. MSK1              abs.                0x1
  562.      @122
  563. DEF               macro                
  564.      421 401 378 358 336 316
  565. RAM$              abs.                0xfffffb00
  566.      @310
  567. RAMMCR            abs.                0x0
  568.      @315
  569. .STOP             abs.                0xf
  570.      @319
  571. _STOP             abs.                0x8000
  572.      @322
  573. .RASP             abs.                0x8
  574.      @339
  575. _RASP             abs.                0x100
  576.      @342
  577. RAMTST            abs.                0x2
  578.      @357
  579. .SDTEST           abs.                0x9
  580.      @368
  581. SDTEST_           abs.                0x200
  582.      @369
  583. SDTEST_MSK        abs.                0xfe00
  584.      372 @370
  585. SDTEST_NMSK       abs.                0x1ff
  586.      @372
  587. .RTBA             abs.                0x8
  588.      @381
  589. _RTBA             abs.                0x100
  590.      @384
  591. RAMBAR            abs.                0x4
  592.      @399
  593. .RAMBAS           abs.                0x3
  594.      @411
  595. RAMBAS_           abs.                0x8
  596.      @412
  597. RAMBAS_MSK        abs.                0xfff8
  598.      415 @413
  599. RAMBAS_NMSK       abs.                0x7
  600.      @415
  601. .RAMDS            abs.                0x0
  602.      @424
  603. _RAMDS            abs.                0x1
  604.      @427
  605. 74 symbols
  606.